Various embodiments described herein relate to computer systems, methods and program products and, more specifically, to database management computer systems, methods and program products.
DataBase Management Systems (DBMSs) are specially designed software applications that interact with users, other applications and a database itself, to capture and analyze data. More specifically, a DBMS may allow the definition, creation, querying, update and administration of databases. Commercially available DBMSs include MySQL, PostgreSQL, SQLite, Microsoft SQL Server, Microsoft Access, Oracle, SAP, dBASE, FoxPro, IBM DB2, LibreOffice Base and FileMaker Pro.
Database design is a process for producing a database. A DBMS may facilitate database design. Database design may generally include three overall operations: conceptual modeling of the database, logical modeling of the database and physical design of the database. In conceptual modeling, a database modeling computer system, method and/or program product is used to identify relationship dependencies within the data to be stored in the database. In logical modeling, a logical structure of a database may be defined using, for example, keys, domains and/or data types. Once the database is conceptually and logically modeled, the physical design of the database can specify the physical configuration of the database in a storage media. The physical design may be performed by a database creation system. Common DBMSs may include both a database modeling system for the conceptual and/or logical modeling and a database creation system, although these functionalities may also be separately provided by separate systems.
A database may be designed using an Entity-Relationship (ER) model, which is a data model for describing a database in an abstract way. In ER modeling, an entity may be defined as a thing which is recognized as being capable of an independent existence and which can be uniquely identified. In English grammar structure, an entity may be thought of as a “noun”. A relationship captures how entities are related to each other. Thus, relationships can be thought of as “verbs”, linking two or more nouns. Entities and relationships can both have attributes, which may be thought of as “adjectives” for entities, and “adverbs” for relationships.